
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author luisegg
 */
public class Compilador {

    public static FileReader lector;
    public static ListaLigadaDoble tablaSimbolos;
    public static AnalizadorLexico analizadorLexico;
    public static parser analizadorSintactico;
    public static String producciones;
    public static ArrayList<String> tablaCadenas;
    public static ArrayList<String> erroresLexicos;


    public static void newCompilador(String archivo) {
        producciones="";
        lector = LectorEscritorArchivos.getLector(archivo);
        tablaSimbolos = new ListaLigadaDoble();
        analizadorLexico = new AnalizadorLexico(lector);
        analizadorSintactico = new parser(analizadorLexico);
        tablaCadenas= new ArrayList<String>();
        erroresLexicos= new ArrayList<String>();
    }
    
    
    public static void main(String[] args) throws Exception {
        newCompilador("prueba.c");
        analizadorSintactico.parse();
        System.out.println(producciones);
        System.out.println(tablaSimbolos.imprime());
        System.out.println(imprimeCadenas());
        System.out.println(imprimeerroresL());
    }
    
    public static String imprimeCadenas(){
        String a="";
        for (String string : tablaCadenas) {
           a+=string+"\n";
        }
        return a;
    }
    
    public static String imprimeerroresL(){
        String a="";
        for (String string : erroresLexicos) {
           a+=string+"\n";
        }
        return a;
    }
    
 }
